Image filtering may be used to suppress noise in still images, video frames and other digital content. For example, conventional image filters may evaluate the differences between each pixel and its neighboring pixels and use an exponential function to convert the differences into data-adaptive weights. The data-adaptive weights may then be applied to the values of the pixels inside the pixel neighborhood to determine the filtered value of the pixel at the center of the neighborhood. The appearance and/or visibility of noise, however, in a given image may be dependent on the image content (e.g., whether the image contains flat areas, edges, textures, etc.) and the brightness of image regions. Accordingly, conventional image filters may vary the filter output based on the image content characteristics, the pixel intensity and/or the distance from the optical center (e.g., to reflect lens shading characteristics) in order to improve the noise reduction results. Notwithstanding, conventional image filters may still either perform excessive smoothing (e.g., resulting in blurring and loss of details) in edge and texture regions where noise visibility is relatively low or perform insufficient smoothing (e.g., resulting in the presence of noise) in flat regions where noise visibility is relatively high.